home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 031-040 / amok34 / startupmenu / startupmenu.dok < prev    next >
Text File  |  1993-11-04  |  7KB  |  229 lines

  1. ===============================================================
  2. Dokumentation zu "StartupMenu" Version 1.0 von Martin Horneffer
  3. ===============================================================
  4.  
  5.    Entstehung
  6.    ­­­­­­­­­­
  7.  
  8.    Dieses  Programm  entstand aus der Notwendigkeit, verschiedene
  9. "assigns",  Utilities,  o.ä.   nur  manchmal  in  der  'startup-
  10. sequence' zu haben, manchmal nicht.
  11.  
  12.    Wenn  ich  von meiner Festplatte boote, weiß der Computer noch
  13. nicht,  was ich mit ihm zu tun gedenke.  Daher kann er auch nicht
  14. wissen,  ob er z.B.  die DMouse oder Workbench starten soll, oder
  15. vielleicht  besser die "JazzBench" als die Workbench, soll er die
  16. "assigns" für M2Amiga machen und den Stack heraufsetzen oder soll
  17. er die Arbeitsumgebung für Aztec-C (urgghhh!) einrichten ???
  18.    Oder  soll  er  erstmal  ein  Terminal-Prg  aufrufen und meine
  19. Stammbox anwählen, oder gar ein Spielchen starten?
  20.  
  21.    Eine Möglichkeit ist es, gleich in der 'startup-sequence' alle
  22. möglichen  "Nützlichkeiten"  aufzurufen,  mit der Gefahr, daß man
  23. nacher  vielleicht  nicht  mehr  genu RAM oder Rechenzeit für die
  24. eigentliche Anwendung hat und der startup viel zu lange dauert.
  25.    Oder  man reduziert die 'startup-sequence' auf ein Minimun und
  26. mach nachher alles von Hand.
  27.    Das  ist nicht sehr komfortabel - für jede Anwendung und jedes
  28. Utility  muß  zumindest eine Batch-Datei von der Shell aufgerufen
  29. werden   oder   ein  Icon,  das  in  irgendeinem  verschachtelten
  30. Subdirectory steckt, angeklickt werden.
  31.  
  32.    DAS  muß  auf  dem Amiga ja nicht sein, dachte ich mir.  Warum
  33. kann   man  nicht  beim  Hochfahren  des  Computers  verschiedene
  34. Utilities  an-  oder  abwählen oder auf Tastendruck eine sinvolle
  35. Voreinstellung übernehmen?
  36.  
  37.    Allerdings  kann  ich  auch  nicht ganz abstreiten, das ich zu
  38. diesem Programm inspiriert wurde, als ich bei einem Bekannten ein
  39. ähnliches  Programm  sah,  das  auf einem anderen, leider viel zu
  40. weit    verbeitetem   Computertyp   das   Einstellen   von   sog.
  41. "Accessories" u.ä.  beim Hochfahren ermöglicht.
  42.  
  43.  
  44.    Benötigtes
  45.    ­­­­­­­­­­
  46.  
  47.    Beim Start des Programmes muß für den Titel des Fensters z.Zt.
  48. der  Font  "courier/24" vorhanden sein.  Wer lieber einen anderen
  49. mag,  kann  dies,  wie  auch  vieles  anderes,  im  Quelltext  im
  50. Konstantenteil einstellen.
  51.  
  52.  
  53.    Verwendung
  54.    ­­­­­­­­­­
  55.  
  56.    Um  es  gleich  zu  sagen:   Leute,  die  ihre Programme durch
  57. Einlegen  der richtigen Diskette und Drücken jener drei Tasten zu
  58. starten pflegen, werden an dem Prg keine Freude haben.
  59.  
  60.    Wenn es im Sinne des Erfinders verwendet wird, dan sieht das
  61. Ende der 'startup-sequence' etwas so aus:
  62.         ...
  63.         StartupMenu <infile> <outfile>
  64.         EXECUTE <outfile>
  65.  
  66.    <infile>   ist  dabei  eine  Datei,  über  deren  Aufbau  noch
  67. gesprochen  werden  wird  und  die  alle  Informationen  für  die
  68. anzuzeigenden  Gadgets und die zu erstellende Batch-Datei mit dem
  69. Namen <outfile> enthält.
  70.    <outfile>  ist  eine  temporäre  Datei, die durch das Programm
  71. erstellt wird und auschließend ge"batched" werden kann.
  72.  
  73.  
  74.    Nach dem Start des Prgs erscheint ein Fenster mit einer großen
  75. Überschrift  und  mehreren  "boolschen  Gadgets",  "Buttons" oder
  76. "Knöpfen".   Sie werden durch einen kurzen Text unterschieden und
  77. sind  zunächst  unabhängig   voneinander   aktiviert  oder  nicht
  78. aktiviert.   Sie  können mit der Maus verstellt werden, wobei sie
  79. sich gegenseitig ausschließen können, aber nicht müssen.
  80.  
  81.    Beendet  wird das Prg indem man <RETURN> drückt, indem man das
  82. hohe,  mittlere  Gadget  mit  der Aufschrift "Fertig" angeklickt,
  83. oder indem man ein anderes Gadget doppelklickt.  Dieses wird dann
  84. in jedem Fall als aktiviert betrachtet.
  85.    Es  ist  als  möglich,  auch  bei  Totalausfall  der Maus oder
  86. Totalausfall der Tastatur weiter zu arbeiten.
  87.  
  88.  
  89.    Format der verwendeten Datei ("<infile>")
  90.    ­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  91.  
  92.    Diese Datei besteht aus mehreren Einträgen. Jeder Eintrag
  93. erzeugt genau ein Gadget.
  94.  
  95.    Ein  Eintrag  beginnt mir einer Zeile, die ein Doppelkreuz '#'
  96. am  Anfang  hat.   Das  Doppelkreuz  ist nur der Kennzeichner für
  97. einen neuen Eintrag und hat sonst keine Bedeutung.
  98.    Unmittelbar  darauf,  also  OHNE "Space" o.ä.  sollte entweder
  99. ein Plus '+' oder ein Minus '-' folgen.  Ist das Zeichen nach dem
  100. Doppelkreuz  ein  Plus,  so  wird  das  Gadget zunächst aktiviert
  101. dargestellt.
  102.    Alles,  was  danach  in  derselben  Zeile  kommt,  d.h.  alles
  103. zwischen  dem  Zeichen  nach dem Doppelkreuz und vor dem nächsten
  104. LF,  stellt  den  Titel  des  Gadgets dar.  Dazu zählen auch alle
  105. Leer-, Kontroll- und Sonderzeichen.
  106.  
  107.    Danach folgt eine beliebige Zahl von Zeilen, die Titel von den
  108. Gadgets enthalten, welche sich nicht mit dem aktuellen vertragen.
  109. Also  alle  Gadgets,  die  desaktiviert  werden  sollen, wenn das
  110. aktuelle Gadget aktiviert wird.
  111.    Zur  Erkennung  der  Titel ist Groß- und Kleinschreibung egal,
  112. aber  die Leer-, Kontroll- und Sonderzeichen müssen stimmen, auch
  113. die am Ende der Zeile!
  114.    Trenner ist ausschließlich das LF!
  115.  
  116.    Sollen  sich  zwei Gadgets gegenseitig ausschließen, so reicht
  117. es, dies bei einem zu vermerken.
  118.  
  119.    Eine  Zeile, die mit dem Prozentzeichen beginnt, beendet diese
  120. Liste.
  121.    Es  folgt  darauf  eine Reihe von Zeilen, die für den Fall des
  122. aktivierten  Gadgets  beim  Programmende  in  die Datei <outfile>
  123. eingefügt werden.
  124.    Hier sollten also die (CLI-)Anweisungen eingegeben werden, die
  125. das jeweilige Utility starten.
  126.    Beendet  wird  diese Kommando-Liste durch das '#' des nächsten
  127. Eintrages.
  128.  
  129. Achtung!!!
  130.    Das beschriebene Format muß genau eingehalten werden.
  131. Fehlerhafte Einträge weren kommentarlos ignoriert!
  132.  
  133.  
  134.    Beispiel
  135.    ­­­­­­­­
  136.  
  137. Als Beispiele sollte hier ein Ausschnitt aus meinem 'infile' reichen:
  138.  
  139.  
  140. #-DCF-77
  141. %
  142. run dcf +d
  143.  
  144. #+DMouse
  145. %
  146. dmouse -m60 -c3 -C ash
  147. runback -1 dh0:bin/dlineart -a -n 3 -c2500 -l30
  148.  
  149. #+InstallBeep
  150. %
  151. installbeep dh0:sounds/cheer.snd
  152.  
  153. #-JazzBench
  154. Workbench
  155. installbeep
  156. %
  157. assign wb: dh0:wb
  158. set loadjazzb=1
  159.  
  160. #-Workbench
  161. %
  162. sys:c/loadwb -debug
  163.  
  164. #+Shell (!)
  165. %
  166. ashell newcon:0/10/640/246/AMIGA-Shell
  167.  
  168. #-DFÜ
  169. Shell (!)
  170. %
  171. ashell newcon:0/10/640/246/DNet-Shell FROM s:dfü
  172.  
  173. #-DNet
  174. Shell (!)
  175. DFÜ
  176. %
  177. ashell newcon:0/10/640/246/DNet-Shell FROM s:instdnet
  178.  
  179. #-Modula-2 programmieren
  180. shell (!)
  181. dnet
  182. DFÜ
  183. %
  184. ashell newcon:0/10/640/246/Modula-Shell s:modula
  185.  
  186. #-Aztec-C programmieren
  187. shell (!)
  188. dnet
  189. modula-2 programmieren
  190. DFÜ
  191. %
  192. ashell newcon:0/10/640/246/Aztec-C-Shell s:aztec
  193.  
  194. #-Empire
  195. %
  196. cd dh0:spiele/empire
  197. stack 10000
  198. runback more "passwords v1.1"
  199. runback empire
  200.  
  201. #-Risiko
  202. empire
  203. %
  204. assign risk: dh0:spiele/risk
  205. cd risk:
  206. runback risk -info
  207.  
  208. #-MegaWB
  209. %
  210. runback utilities:megawb
  211.  
  212. #+kill Initial-CLI
  213. %
  214. endcli >NIL:
  215.  
  216.    Man beachte, daß sich z.B. 'JazzBench' weder mit 'Installbeep'
  217. noch mit 'Workbench' verträgt, daß sich aber 'installbeep' und
  218. 'Workbench' sehr wohl miteinander vertragen.
  219.    Sollen sich drei oder mehr Einträge alle untereinander nicht
  220. vertragen, so ist z.B. wie bei "shell", "dfü", "DNet",
  221. "modula-2"und "aztec-c" zu verfahren.
  222.  
  223.    Zum Austesten kann man z.B.
  224.      startupmenu infile *
  225. sagen. Man sieht dann, was sonst ge"batched" werden würde.
  226.  
  227. ­­­­­­­­­­­­­­­­­­­­­­­­­­­
  228. Viel Spaß, Martin. 28.12.89
  229.